package a_collection.collection.list_demo;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;

/**
 * description:
 * author: xiaoxu
 * createTime: 2018-11-20 14:33
 **/
public class ListDemo {
    //psvm main方法
    public static void main(String[] args) {
        System.out.println(Integer.MAX_VALUE);
        //myArrayList();
        //myLinkedList();
    }

    //ctrl+shift+x 选中之后大小写切换

    /**
     * 实现原理：
     *  1.可变数组（Object[]）
     */
    public static void myArrayList() {
        //加上泛型，此列表只能存储该类型的数据
        List<String> arrayList = new ArrayList();
        arrayList.add("龙老师");
        arrayList.add("苍老师");
        arrayList.add("闫老师");
        arrayList.add("0");
        arrayList.add("1");
        arrayList.add("2");
        arrayList.add("3");
        arrayList.add("4");
        arrayList.add("5");
        //根据索引值删除元素
        arrayList.remove(2);
        //列表的元素数量（列表大小）
        int size = arrayList.size();
        System.out.println("列表的元素数量："+size+"个");
        //i循环快捷键
        // 1--> a.s（变量名的开头字母为a(arrayList)）
        // 2--> 回车
        //3--> .for
        for (int i = 0; i < arrayList.size(); i++) {

        }

        //增强循环快捷键
        /**
         * 1--> a 回车（显示变量名臣）
         * 2--> .for  (生成自动加强版for循环)
         */
        for (String s : arrayList) {

        }

        for(int i =0;i<arrayList.size();i++){
            System.out.println(arrayList.get(i));
        }
    }

    public static void myLinkedList() {
        //加上泛型，此列表只能存储该类型的数据
        List<String> linkedList = new LinkedList();
        linkedList.add("龙老师");
        linkedList.add("苍老师");
        linkedList.add("闫老师");
        linkedList.add("加老师");
        linkedList.add("小泽老师");
        linkedList.add("费老师");
        //根据索引值移除元素
        linkedList.remove(2);
        for(int i=0;i<linkedList.size();i++){
            System.out.println(linkedList.get(i));
        }
    }

    private static void myVector(){
        List<String> vector = new Vector<String>();
        //1.添加 add()
        vector.add("1");
        vector.add("2");
        vector.add("3");
        // 2.移除 remove()
        vector.remove(2);
        // 3.获取向量列表大小 size()
        int size = vector.size();
        // 4.遍历
        for (String s : vector) {

        }
    }

}
